package com.cx.aop;

import org.apache.log4j.Logger;
import org.aspectj.lang.JoinPoint;

/**
 * 
  * @ClassName(类名)      : LogAop
  * @Description(描述)    : 后台登陆aop类，用于显示执行DM前后操作信息
  * @author(作者)         ：曹轩
  * @date (开发日期)      ：2015年9月30日 下午2:08:49
  *
 */
public class LogAop {
	
	private Long startTime;
	private Long endTime;
	private Logger log = Logger.getLogger(LogAop.class);
	
	/**
	 * 
	 * @Description(功能描述)    :  
	 * @author(作者)             ：  曹轩
	 * @date (开发日期)          :  2015年9月30日 下午2:08:41 
	 * @exception                :   void
	 */
	public void before(){
		startTime = System.currentTimeMillis();
	}
	
	
	public void after(JoinPoint jp){
		StringBuilder info = new StringBuilder();
		info.append("调用类："+jp.getTarget().getClass().getName());
		info.append("调用方法："+jp.getSignature().getName());
		info.append("包含参数："+jp.getArgs().length);
		info.append("{");
		Object[] obj = jp.getArgs();
		for (Object ob : obj) {
			if(ob ==null){
				info.append("[null]");
			}else{
				info.append("[").append(ob.getClass().getName()).append(":").append(ob.toString()).append("]");
			}
		}
		info.append("}");
		endTime = System.currentTimeMillis();
		info.append("执行时间：");
		info.append(endTime-startTime);
		log.info(info.toString());
	}
}
